package com.un.ebs.contract.domain;

import com.un.ebs.contract.enums.ContractTypeEnum;
import java.util.Date;
import com.un.ebs.contract.enums.PaymentTypeEnum;
import com.un.ebs.product.enums.ProductPurchaseTypeEnum;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.baomidou.mybatisplus.annotation.*;
import java.io.Serializable;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import org.springframework.stereotype.Component;
import lombok.Data;
import com.un.ebs.core.metadata.DbField;

/**
 * (ContractItemExt)表实体类
 *
 * @author makejava
 * @since 2021-03-25 18:31:12
 */
@Data
@Component
@TableName("v_contract_item_ext")
@SuppressWarnings("serial")
public class ContractItemExt extends Model<ContractItemExt> {

                
    @DbField(name = "id",  length = 40 , precision = 0)
    private String id;
                
    @DbField(name = "contract_id",  length = 40 , precision = 0)
    private String contractId;
                
    @DbField(name = "sku_id",  length = 40 , precision = 0)
    private String skuId;
                
    @DbField(name = "sku_code",  length = 100 , precision = 0)
    private String skuCode;
                
    @DbField(name = "name_as",  length = 100 , precision = 0)
    private String nameAs;
                
    @DbField(name = "price",  length = 18 , precision = 4)
    private Double price;
                
    @DbField(name = "qty",  length = 18 , precision = 4)
    private Double qty;
                
    @DbField(name = "contract_money",  length = 37 , precision = 8)
    private Double contractMoney;
                
    @DbField(name = "write_off_qty",  length = 38 , precision = 4)
    private Double writeOffQty;
                
    @DbField(name = "supply_percent",  length = 18 , precision = 4)
    private Double supplyPercent;
                
    @DbField(name = "sku_price",  length = 10 , precision = 2)
    private Double skuPrice;
            
    @TableLogic        
    @DbField(name = "is_delete",  length = -1 , precision = 0)
    private Integer isDelete;
                
    @DbField(name = "class_id",  length = 40 , precision = 0)
    private String classId;
                
    @DbField(name = "class_name",  length = 40 , precision = 0)
    private String className;
                
    @DbField(name = "purchase_type",  length = -1 , precision = 0)
    private ProductPurchaseTypeEnum purchaseType;
                
    @DbField(name = "buy_min_qty",  length = -1 , precision = 0)
    private Integer buyMinQty;
                
    @DbField(name = "plan_deliver_date",  length = -1 , precision = 0)
    private Date planDeliverDate;
                
    @DbField(name = "business_ent_id",  length = 40 , precision = 0)
    private String businessEntId;
                
    @DbField(name = "business_ent_name",  length = 100 , precision = 0)
    private String businessEntName;
                
    @DbField(name = "last_customer_ent_id",  length = 40 , precision = 0)
    private String lastCustomerEntId;
                
    @DbField(name = "last_customer_name",  length = 100 , precision = 0)
    private String lastCustomerName;
                
    @DbField(name = "contract_code",  length = 50 , precision = 0)
    private String contractCode;
                
    @DbField(name = "contract_ver",  length = -1 , precision = 0)
    private Integer contractVer;
                
    @DbField(name = "personnel_id",  length = 40 , precision = 0)
    private String personnelId;
                
    @DbField(name = "personnel_name",  length = 50 , precision = 0)
    private String personnelName;
        
    @TableField(fill = FieldFill.INSERT)            
    @DbField(name = "create_at",  length = 40 , precision = 0)
    private String createAt;
        
    @TableField(fill = FieldFill.INSERT)            
    @DbField(name = "create_at_name",  length = 50 , precision = 0)
    private String createAtName;
        
    @TableField(fill = FieldFill.INSERT)            
    @DbField(name = "create_time",  length = -1 , precision = 0)
    private Date createTime;
                
    @DbField(name = "submit_at",  length = 40 , precision = 0)
    private String submitAt;
                
    @DbField(name = "submit_at_name",  length = 50 , precision = 0)
    private String submitAtName;
                
    @DbField(name = "submit_time",  length = -1 , precision = 0)
    private Date submitTime;
                
    @DbField(name = "submit_status",  length = -1 , precision = 0)
    private Boolean submitStatus;
                
    @DbField(name = "audit_at",  length = 40 , precision = 0)
    private String auditAt;
                
    @DbField(name = "audit_at_name",  length = 50 , precision = 0)
    private String auditAtName;
                
    @DbField(name = "audit_time",  length = -1 , precision = 0)
    private Date auditTime;
                
    @DbField(name = "audit_status",  length = -1 , precision = 0)
    private Boolean auditStatus;
                
    @DbField(name = "payment_type",  length = -1 , precision = 0)
    private PaymentTypeEnum paymentType;
                
    @DbField(name = "start_date",  length = -1 , precision = 0)
    private Date startDate;
                
    @DbField(name = "end_date",  length = -1 , precision = 0)
    private Date endDate;
                
    @DbField(name = "tenant_id",  length = 40 , precision = 0)
    private String tenantId;
                
    @DbField(name = "type",  length = -1 , precision = 0)
    private ContractTypeEnum type;
                
    @DbField(name = "is_frame",  length = -1 , precision = 0)
    private Boolean isFrame;
                
    @DbField(name = "is_temp",  length = -1 , precision = 0)
    private Boolean isTemp;
                
    @DbField(name = "is_close",  length = -1 , precision = 0)
    private Integer isClose;
                
    @DbField(name = "discount_rate",  length = 18 , precision = 2)
    private Double discountRate;
                
    @DbField(name = "sum_qty",  length = 38 , precision = 4)
    private Double sumQty;
                
    @DbField(name = "total_qty",  length = 38 , precision = 4)
    private Double totalQty;
                
    @DbField(name = "source_item_id",  length = 40 , precision = 0)
    private String sourceItemId;
                
    @DbField(name = "mapper_sku_code",  length = 50 , precision = 0)
    private String mapperSkuCode;
                
    @DbField(name = "ver_change_remark",  length = 100 , precision = 0)
    private String verChangeRemark;
                
    @DbField(name = "write_off_qty_format",  length = 38 , precision = 4)
    private Double writeOffQtyFormat;
                
    @DbField(name = "real_percent",  length = 38 , precision = 6)
    private Double realPercent;

    @DbField(name = "remark",  length = 100 , precision = 0)
    private String remark;


}